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.

Check out Use Cases to learn more about how teams are using Oso to build authorization.

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 or need help getting started come chat with our engineering team & hundreds of other developers using Oso:

Button

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.21.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.21.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.21.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.21.0-cp39-cp39-win_amd64.whl (837.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.21.0-cp39-cp39-manylinux2010_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.21.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.21.0-cp38-cp38-win_amd64.whl (837.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.21.0-cp38-cp38-manylinux2010_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.21.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.21.0-cp37-cp37m-win_amd64.whl (837.3 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.21.0-cp37-cp37m-manylinux2010_x86_64.whl (2.6 MB view details)

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

oso-0.21.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.21.0-cp36-cp36m-win_amd64.whl (837.3 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.21.0-cp36-cp36m-manylinux2010_x86_64.whl (2.6 MB view details)

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

oso-0.21.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.21.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.21.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0f830aefa494903ba7dff4dc5b27d953d52df7e5d2f83f8b24308c189b1c6c3d
MD5 c7493058fe5bfb0d5ecd698e5d5d17ee
BLAKE2b-256 4251db0a90c7ace53258323016980d8ae6f167ec31e001d30dcb0faf46299323

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7285e337482f2fde6bc21f195fb83a115bdef342f349b83411ba797d2da2f391
MD5 833edf62bb066f49d5a930e5498e955b
BLAKE2b-256 f4775e66ac5b42652f8a6ef3376d4d0bd39f15b84934b5a798f2cba2c9463bcb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 54f8a3a6ddb5c077c1cf563daaa51b77ee8e3758efde4f85c8765dfd77a608da
MD5 4969908a4affb295d66ac00c95554bdf
BLAKE2b-256 54db6905cf7b5595021d29aa054efee9a3e17ee2f540f0346ac2cdf5f0356f3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ae52e9d19175dfdbf93aa71ac8332ebf001c1a4293c289ea7aaf4014dc8a91a8
MD5 a498a2ca943a84b30fc6f6a062b77228
BLAKE2b-256 aab64a9c3cbce884ea6aaa96ba1aed34e465b4b11366ed6d59899170d94b96c6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 837.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4a6cf5ac445707f2dbed783c362a82a22fd98224f7eb309d0405ed1fe1edcffb
MD5 3bda2720338c7a4c93a2caa140bb89c4
BLAKE2b-256 221f61101cd389ce10dc595e76d163ae3bfd186806bc36edb3cda972df93cd3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 080ea99c89d8445aa7eaa19e6f94e987168364120bf9c5b6864d980bcaf0cbdd
MD5 4770441c1b1c93e95d03a277cedf7537
BLAKE2b-256 4411cc0528abcf845dcfd286d7f2d56518b6ba27ee1c9b586a0c6245efacc797

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 035e6cee3c4e13b91c91f9745c4014170ce5dfa6862e7d2c8ea92485b215f584
MD5 7247130a739335194146955cfeea65c2
BLAKE2b-256 efb6bf0cb465fff43fcc8cd2b1ab480d091c3f14b89128847e2c8520febc2f38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 837.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 238acf1dab4d24f55f39fe3b1cba9ec9c773f3f2dbc7bf018a211a5ac92774fa
MD5 f5995a3a1a444ebbf3a523ea29025bf0
BLAKE2b-256 8f56894d5580102963fe90688babf8393d77fa93a90f87f6d2cd4f1679dcdcfd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b523c27d713df24c02a9a521efb93da7ecec06cd28c9bd60c45e027b4d0465d7
MD5 4072497466681e99b4e32fac2f988b98
BLAKE2b-256 115b5468b731f205f1c7ec958f8055224451fb11aa5ca6e69ff986b6c6325295

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 89327a548ecc03daa8ce59683f32b5b8c646b53f453c57ef02def902166ee2d8
MD5 4f4b19e5929c3c73454e291fb38bceb5
BLAKE2b-256 60e2c0bb6ad99480971b998fc0997c086d025a3183cdaa36bdd4bb1f741bed90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 837.3 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 281dcb101fb65ff9e3140544d4fafc2ef811d583f608ce89ede5634ea1486861
MD5 d21f4fd59be326fdf0e7c8d97f352b94
BLAKE2b-256 64adf22af22475e80a86f495c71b250648a222ae0d1209ed2c3ab5357378df61

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f4fe71d52c5c4ac9918fbb2b747626bb049d2bf5fb10f738c322fe54ea211fe9
MD5 a59807e89fe9463f47390a01fa666d0e
BLAKE2b-256 0d99b3207df5cfcb9d372a0edfb3fe7978f595c5a2cce419dd288b2567e3f761

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 212db0ce29beafcee337675e9a3732cec9c9250c672759e8a00b543d87fa0473
MD5 2095f068573bfc67f9fea4d97cacaa68
BLAKE2b-256 9081b9f3b26c4e9a44bcbde3150dd9e304fafc11a8cae35fc93106d168233373

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 837.3 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 09b60ffd3a6ed0de75facffaf089cd7cf9ae4d33fea2795af19150245f7fac06
MD5 0b0b56956588a9550c26d85ad27e1319
BLAKE2b-256 3e1f1637304f3d9bcb969d59d5c7c27dc32bcbd4ce6885326a3d1c6c7e55bea2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d01230dc15dfbcba870d7780db3a50388d39d6cf95acb7f0b15df23b86c19985
MD5 9acc4dafe8813eb0fddb66a676cb34a2
BLAKE2b-256 767a8a692ec7031fd442219b8def20e1e47da8dcef33b41b39c6cad71af65485

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.21.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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for oso-0.21.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1f10e9c7319595855a10cc8d1e7c5a22e0ebcf84d5f95da20a79d930c9b12e37
MD5 88118dd128cca3b22acbb40575383b7b
BLAKE2b-256 05b41a6f4c1c72a40daae8c2c1ef8a1eb24de2399ba088301923ef4575336ac7

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