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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.13.0-cp39-cp39-win_amd64.whl (670.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.13.0-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.0-cp38-cp38-win_amd64.whl (670.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.13.0-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.0-cp37-cp37m-win_amd64.whl (670.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

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

oso-0.13.0-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.0-cp36-cp36m-win_amd64.whl (670.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

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

oso-0.13.0-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.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 26fd2b2bbc6ff61ea0b9f0fa2819c6a92bc0f142b43fdd6b7782709ebcea2330
MD5 8f2c6ec5b42a007eae379ea4cb0ee950
BLAKE2b-256 3706fc356fad1dd0c792ba92858b55d9b91259928b23269c580d9daa42e4226e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2e35f780d903a950c7e26a9f94adf8b27afb4cd1399d9f9b1b74f1d0923c879b
MD5 14bcdcdbac86dbb955e928bc593e5e15
BLAKE2b-256 ef267da12b618c98d9ce008522c2acf601c2cb98983835308afb4bec09a88f1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 05ec3b6f2187023185a448278c3db5ce9cded87ac84a91de58193def3ef705b3
MD5 8033635ffe8607b0316b3d23bebf41c1
BLAKE2b-256 c2d9034b2249b2923eacb0cfd6d6d6acafacc06fe919d380707a26e477179ea4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 454eeb825b0b50e584443ef684096864e3e8b0ec7a612be6f077494a9a83eee2
MD5 c43ef92bd73f1df1475ef3ff99f817de
BLAKE2b-256 6bb966c06efdab3a0a6c26b226bb3925a7b748600eab79c5808d741cdf0afdc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 670.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.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.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 32668acc277111285a57c46a8337eb4ba81b7cf28f4b2c1736a120ba177fbc5a
MD5 ce88af0e0a6ae8aebe6681f92c6af71e
BLAKE2b-256 464decc1eed5151863dc93fb6e7182d51b2a5d30842fad3ee9a0ce91310e0acf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c597fd821bc11fd7f56abd30d792dc2f622c46bb9fe4218a07d894875f4813ec
MD5 f06ee50b7406afb1fff47f96ff380346
BLAKE2b-256 34d234c68d5f3c7667c0ab62b1b2d9f78e27b169a9346d2c41f56839e086fc0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c6fbd060eacda64d7e963e13e7f7052a2e0060b7e766f7dc6930c3ea85615cd3
MD5 523d017ae01d045b40484c46ab85dc50
BLAKE2b-256 cd54912a731b7ed82de654ba4008736d0867fecf7c012d9101c6e6396a9c6ed1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 670.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.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.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d444c510633b7caa288fcbb8d96432f3d4addcc8a5b0608d22ad650b54783a51
MD5 517703b747cd22b06b524a17d8d54660
BLAKE2b-256 038254b7aeb59387af4c201de274bf8cd2963f41b4bf37e8ec35b6ecb0ea320f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b3f328465108dab4cff6bf2b3434ff687941574df18caa7561b1b05a0ce285e2
MD5 e5c75f34bdd5875c56875140bad9174d
BLAKE2b-256 e50bea56ca83230c992f3849b5da98bd0c2b0704ea05ce42b755b927de1b2a60

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 56daba55bdb2400f13bca897bae89e7605a27f5b019fd9d1da59fa95958f30ac
MD5 aba6634c4b3813a56d0c9d8ef66d8677
BLAKE2b-256 f377380a5214ed5423171ebceb1340277c93e4ef65145cf0f88f5cf836a79531

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 670.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.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.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 27d0211fb31c3c41d56ae23b9086462da9645c2d293bbabea68ab769bb2f28cc
MD5 62c579e79c4c53f39fa5a13ffb0a74d1
BLAKE2b-256 635746bb2643535e77cbe6d2f6f3db501a6c6d266bfea153130019d8c8dde421

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 cda12c18f2f2f8b4771f635df546506963e514eacec31a866119ef5b3ee63a02
MD5 d22d8c56bcc2e4189bdbec0ecce105f0
BLAKE2b-256 f7a4fda4148a284e7230335a3c161fe1d0f6c7eec84f2382f56a8f216e395b3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4b6ee1bc04d0f621eb2f46851fc0338bd7c52e81e52b532db9bf9a6c9af25141
MD5 b4d88a11c422c990305035786af31046
BLAKE2b-256 5bba3f731eaa817faf4ad80e2e19a7a840dc676fe6d11b3bb03ae3e4a905378d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 670.9 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.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.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 336d366fca9c002f9b972c87a4e4f65bbc0a3787e4d7d598ac97ced114a84510
MD5 3052c10138868e443b599790c60fdb50
BLAKE2b-256 80068af0636587e9846974ff9665d2fa1358e15f9c2df5fca02b7b2b91f39ce8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 751c90e4d83563c01037a321e1f699059a22e2d37d399dee25827c44148bde2e
MD5 470c77949b99eaaac06b54c2e2eca93d
BLAKE2b-256 701a2c6b45e27db7bc217f4d13eb24c01d9d0f733e7d6447abe365a8a98a6a2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.13.0-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.5.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.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e656b9f5309241879d284581c0410c0082a06dc8f46feb35dd71dd459eaa6873
MD5 4d8976913b9afa468e291a718d7a1f31
BLAKE2b-256 1ea71577a508c727e644bbeec1e48ce6464565dc1cef3d43a42c50657a6776e5

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