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 Java, Node.js, Python, Ruby, Rust and Go.

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 or open an issue.

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+
  • Go: 1.12+

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.11.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.11.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl (7.4 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.11.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.11.2-cp39-cp39-win_amd64.whl (646.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.11.2-cp39-cp39-manylinux2010_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.11.2-cp39-cp39-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.11.2-cp38-cp38-win_amd64.whl (646.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.11.2-cp38-cp38-manylinux2010_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.11.2-cp38-cp38-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.11.2-cp37-cp37m-win_amd64.whl (646.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.11.2-cp37-cp37m-manylinux2010_x86_64.whl (7.4 MB view details)

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

oso-0.11.2-cp37-cp37m-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.11.2-cp36-cp36m-win_amd64.whl (646.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.11.2-cp36-cp36m-manylinux2010_x86_64.whl (7.4 MB view details)

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

oso-0.11.2-cp36-cp36m-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a6d0a839b1c823ae7e7f1bbb5babd43c60fd86d68dade448c8b6dddca21d88f9
MD5 3edcbe242ab3aed45be38fa2070c652e
BLAKE2b-256 792d6454f92b46a2279d7817bd518663849f447f86c9f439b242abb22ba679e4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bb08ec49c617321679454a7f438287ffccecab058d28878b61304057173e4961
MD5 64c0627e95ffc31408bf1c930fe31f58
BLAKE2b-256 8fd9cccab17491b5142923e2e907d17f8676aeb6f21a06df9911781fb4d96fd2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4d3441cae0a39cd49990cf6e143ef0ce0547d3b810a7c4a441aa0a9064d8010b
MD5 8b85d1020278b0094bc5a74d773c3409
BLAKE2b-256 52ef9f78e397bc89a0305676a8c6873c61af2e78e3b3e87861ad8b6a74c0ecc4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 66988099098d054ad1c9d1508d9045a7218960c77dc900859492f6ebf71b315f
MD5 b5e71b18d563b4e08ba485a88495308c
BLAKE2b-256 489116ff754e70eb6f9a0230ab72ff2bca6d96fe83a854e44c4a30e6b4462b9f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b25bdad46fa2e731a3af22e70f4f4da6b3216ec69e12dbac7f49aec2c02b70fa
MD5 c190ac03c5cab50a5d1539459c5b9149
BLAKE2b-256 60a47549a72533476d7299f2e18058705ca3676bf62c406ad2c9713b20891f97

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 11b7bb4caee9a4242c4c39c0ecf594966ada0b88c6f2826901f4d538a1bfab9f
MD5 5591fdc90368f637cca54a34f185c26f
BLAKE2b-256 cfbe16f6d793a8b13dab10e05a329a075b90fc850f5b7b002b6f8203b61e0793

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5616d681e5aea793d905a9111137bd284bb84c567933f202ca57bda1b02b874d
MD5 fee6bf090407a416a16a7cf169c1cd19
BLAKE2b-256 95b3b168c95606dc5462cac1e500fbbd22244cce8a0448ddb8101425569381cf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fbf19f54ac15acdeb42fc6e7359a50d32abe93be1f6f3bed9bacd093f6365be3
MD5 e4fde9a9a9edf6e4c0f7e5e41dfde5bd
BLAKE2b-256 dd0304e5b6f3a2895a67701ce96623919c0f0580f89e6b64c6bc730a54d21bd9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 dac70542c3d280d4c129214720ab0f33bc0fb094ecd69cb3e82c9bb9afbbcb34
MD5 e0ad98d5bf3e31223c6ffddac305f936
BLAKE2b-256 445d884a10ee3f87b081f2bdac04ecf91dda749736de4d8699f0eca313abdcad

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a182c82ec956dae870f6b0b34619ee7c2860950ee9607cd3c1e2c1c583cb2faa
MD5 c0b4cffc4b903b79cbf8ab42f1d50a45
BLAKE2b-256 533feda835bbe3f6e3b35d1b7bb41e67be85d779d56b49d6f2fbdaf03c5a1afb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 c1f29a8213b49a9b701685f240d2f031588330626c638f2402e4bce3c72a8ab3
MD5 204ca4a168bd9b171643c27db81a7fa1
BLAKE2b-256 d5bdfebb5a4d757c6848657e058294c18a706682e861861d33bcb8b730b9b408

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3c1b74b76daaaaedf488540ca4aa3d4b9acebbd3b78e928bc74572e5764f24f4
MD5 538dd6170f7457939aac35e0b3c7f58e
BLAKE2b-256 8a0e762a42fa0204dffaae7540e2f4df2c2a47dc61bdd880ce3b5064ba1538e1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e3a7b7060612e94009a8e473dc2b68c00aaf928abbbfc60be1a5b27d14fdfec
MD5 b2fabe0d573cc2ab3db88b0fbe23ba11
BLAKE2b-256 4bef7bd795d7bfa4f3a44cd6e17685de02156bc882662b23d9db8a5f6cc73414

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 1a78b96956c3f04e1d3e9847fbc6749134224774f5ba18f8a2619b66b36825f4
MD5 6ecb142e24c20017bda4307a92ffe5b9
BLAKE2b-256 bfc20d2660216ec66791e81c3ef06e296e53e6167a2c96aff26443f1424d58e2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 431afef45baa68e312c7aebc5712ec4df5b919109512fe559db02b9da75a40e2
MD5 b7e402a7081007b94389bbcb8f5cf672
BLAKE2b-256 9ddddacc0c0423e3d9f38d07bf02408c5806cc38789cef3b97c980ab232fb9e0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a834680e10121bad01002f530f516cb5b43905f7d49fb9de5b09b5ca7f8aa4d9
MD5 80ffee264a535e3590379611b4aa6f17
BLAKE2b-256 e8839b52062d30eda700ee84a1b446b072c7fdd9ae798cbfb8bc64fc4d00dc06

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