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) Go version Maven version NPM version PyPI version RubyGems version Crates.io version Slack

What is Oso?

Oso is a batteries-included library for building authorization in your application.

Oso gives you a mental model and an authorization system – a set of APIs built on top of a declarative policy language called Polar, plus a debugger and REPL – to define who can do what in your application. You can express common concepts from “users can see their own data” and role-based access control, to others like multi-tenancy, organizations and teams, hierarchies and relationships.

Oso lets you offload the thinking of how to design authorization and build features fast, while keeping the flexibility to extend and customize as you see fit.

Developers can typically write a working Oso policy in <5 minutes, add Oso to an app in <30 minutes, and use Oso to solve real authorization problems within a few hours. To get started, you add the library to your application, create a new Oso instance and load an Oso policy. You can mix and match any of Oso’s authorization APIs to implement features like roles with custom policies that you write to suit your application.

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

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

Getting started

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

If you have questions, need help getting started, or want to discuss anything about the product, your use case, or authorization more generally, join us on Slack.

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: 12.20.0+
    • Yarn 1.22+
  • Python: 3.6+
  • Ruby: 2.4+
    • Bundler 2.1.4+
  • Rust: 1.46+
  • Go: 1.12+

Contributing

See: CONTRIBUTING.md.

License

See: LICENSE.

Share your story

We'd love to hear about your use case and experience with Oso. Share your story on Twitter or fill out this form for some Oso swag.

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.13.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.13.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.13.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.13.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.13.1-cp39-cp39-win_amd64.whl (671.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.13.1-cp39-cp39-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.13.1-cp39-cp39-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.13.1-cp38-cp38-win_amd64.whl (671.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.13.1-cp38-cp38-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.13.1-cp38-cp38-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.13.1-cp37-cp37m-win_amd64.whl (671.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.13.1-cp37-cp37m-manylinux2010_x86_64.whl (2.3 MB view details)

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

oso-0.13.1-cp37-cp37m-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.13.1-cp36-cp36m-win_amd64.whl (671.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.13.1-cp36-cp36m-manylinux2010_x86_64.whl (2.3 MB view details)

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

oso-0.13.1-cp36-cp36m-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: oso-0.13.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c0d505124a5427a89da04451f2878bf7347512610ba8060d4adff4fb0cbe44a9
MD5 e1e4ef35697e9e159c856ed9267a7425
BLAKE2b-256 5668705766502777dcb72ba6d54b8f4c311005d8a8ea32d55c3dbf79c7cf272b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 380b40ae739a1fa6be9e9c481ef1cce8936573096be40f7de997c0104ea974ae
MD5 fe9c490d3365cfd5cadc3385b2295fb5
BLAKE2b-256 1b94826b8edb317096396690827b57dde2f64f7a4d03fe675abb26efe8dada60

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e76f4349fb619334ee65338c06d6ef7db4a0bb0e9e4f7b5e5143943e5426fb1e
MD5 940316bddc4d855b4e6a7a3a7e8dedf4
BLAKE2b-256 90f2c065e5e4b3f5d98eb45ac4c37966e42b1f475414923196799b8ca4883a6e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bfb7795f56f917230efe35b61d28e8ef9e41684cdbc15aa170b0a90dace92eaa
MD5 156fe9ac4c666ecd74c7357a68e36a8c
BLAKE2b-256 d161224359f79ae346a271582ff842e64fd262116e685ce401e7c6d6cf29314c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 671.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 da4fa1326d368a3efefe8b2f37f730e4ae40a4e17d0ff014de2d141593d5753f
MD5 506e0d9f3a2a3e130394115866bb252e
BLAKE2b-256 d12cc28f0f93bba9ce09ae6fa0ff9e3ad2de508a9e81d7a2bf5595d6cb17ac2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 78c61c7115f0db80e1451bf3c0693bd979f4abec13cdc426588ea56e335b91e0
MD5 c83beea150d1dd7f06259176cb09a029
BLAKE2b-256 ad9190112723e75dbdb13ef7ad99a0dc940d7fc8237d9fb7cb27ec773ae763bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 69924549f18dbaed3a9a47f4cc92f5d0c1f90dd8fb30bf48fefce28bbf933004
MD5 675c75235e6e1228313e34c969822e50
BLAKE2b-256 3406b2e2fdb4fb5d4b0e4f7e3ed74dc23b8bdd5d073e781cb88a74b813cc1b75

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 671.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 14e368c8caf4cf0ed5fa4963136f63748fb2bf0c26e01386cd74524d6ec5d7c8
MD5 575c7dbb4a82b812f95e23e1708b87da
BLAKE2b-256 f194ca97be985710633a2132280875d88df5b16b9d3f0cc776ed91c271e8946c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 924d1d6b1b21ec57726f31b0d9ed78651b2094168568f3ba000bd8f560aeb977
MD5 cc17b99e7b9bec14bdf965381ac7a78b
BLAKE2b-256 8cdba13ead0877f75239be989b38f984885f147ef7a1555a441367aa44fc4cae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 52ba079c22c87b91841985c79e8418dc253f6e48c7f3ce36501eda8c271031bd
MD5 aa16be3520707f83055163d7fc7d5025
BLAKE2b-256 7749462420d1654e29618e94d5e4c972fd89f963cff89e60c0c64ad1ea021647

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 671.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2c02449909e9ebba7dc19ffc26eb623c4b6ae37ff28fb5c7ce0fb41b6c5d3f41
MD5 f4280b44b49c09eb05083136f83d8f5d
BLAKE2b-256 60d7f741611655795979ccdf92ec732e38650fe165e23b0caa01fec95adb59f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ff11d0b3257910830846382be543187bb213bf2c2fca6d43a2f233e5f616cc54
MD5 9147d36f686047f75b17e6dc2f6fa069
BLAKE2b-256 8059f52298e0c1d311eb3afdd2f6e09663b9b1a2bb457ebc8235b651b352d20c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9bf9f512f83d6036bc772e69015c921ea0a0cfec04eb5d03c9692c5aadd050ce
MD5 5702ba7f0afdeb35bd0f134c12e808e3
BLAKE2b-256 73ecfe554c005a26ffdd88ed83be5336ca1b4d88e6a7c1e7812080a9d532f7b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 671.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 7712a1580af5d358c353fa7dbee1e0fe1240584a783e8885fc710d91810c1197
MD5 1dc4fb2310cd1077cc74160513bc8c5e
BLAKE2b-256 1fc5b6f55e1084763a724cd7a3a0e7830083e164cdf6c33c70c41cdb10b91a82

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0fa6b6ec030501e024cda6d67545c293ea80280f092b8dc3f6151aedd3381cb9
MD5 7ebe8ec04ce37905dc6abbaded5a93d1
BLAKE2b-256 a41fa06bfbb9d9cc4e83e9abcf659d8a24c69b0dc421a6609a6114881fedbdd6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.10

File hashes

Hashes for oso-0.13.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c8f59ae428d9c66206277ddbc186175d2ffceb842b6305b0f6858df43144b657
MD5 d099e4189309cea2b9d47d75a35b9935
BLAKE2b-256 c9dd7eb2e51d64b5c789d68c198bd0ade0c0a0a368b6db952f312cff90c87192

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