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: 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.

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.12.4-cp39-cp39-win_amd64.whl (644.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.12.4-cp38-cp38-win_amd64.whl (644.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.12.4-cp37-cp37m-win_amd64.whl (644.3 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

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

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

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.12.4-cp36-cp36m-win_amd64.whl (644.3 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

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

oso-0.12.4-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.12.4-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 41ec362ea36389a251af93c5f52648caf5c43387b489e9a2c325b37d2feee23f
MD5 4bef5b79727a73d4aacfa5451bc1bb95
BLAKE2b-256 692e52de16296db3c118caa1dc149a4f9da71103101dbf53610f81c2c7dff33d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6a0b14d690350511cc2b59593d3109d71b8e3037198f57fe4aa1668d79c68788
MD5 a40f6c0e61166007ec37e7952225453a
BLAKE2b-256 ab7dc592f3aba3820a39a4f7b75a6a9e7549855a5135800edef7a26bc31d1e46

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3eee3e046734a78bf065633f1053caf0deae82238f5fc916ef84e014f0727133
MD5 a3853ec6f9f187d942638466e42d0f83
BLAKE2b-256 c03f0b49faaf8af29ec12ff84e518054252b3a3d7f6b033b2cf5ca158f7f67dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2e1e25dcfcd16210fb2752954d4c768903e916d3b8cb327665b41cba391a3fb7
MD5 5423594d9b86bfac09e0f577ae5c2799
BLAKE2b-256 542c393b7b5a9cea52527ed29426bd183d2f2f60a99f555188db99756072038e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 644.3 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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 405d2a0784aedabbf9a23d5cd544a5de5baf01ae1aef8a990ab79e7e85ddb11d
MD5 69cb284565c5840e4d438ad4c17dcb5d
BLAKE2b-256 a783d0381b10b3cfe834258c150ad7ddad073dabdc0b45cd3538271e40988108

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7b9a3c489c4479f54b15c55942bdcc40636020b1657a9ae408ebe5c38cade85c
MD5 defce3da45b476fbb94e21ea06311067
BLAKE2b-256 3035774ff9c0e9c650ff99c0056f14a307ff6e703aa238073a94e68af06a0a82

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f4fe0de4fd8b3d3f9064f9da7843320ac7d5d85ec44457311464c832ac1d8308
MD5 df511055b3fbcb00d8b55f5e519f20d3
BLAKE2b-256 ba4ae1c2cb1a27f304674f3f8ce3db9d21e27f48a20a4eef568faa5cdd83f484

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 644.3 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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9659d2f0dc3b0a9d6e7772fa4fa5df0edee4c252a480e18fb539c38bb2aaf181
MD5 0a7ee7f1d86502cd27ca1f1033e6b9fd
BLAKE2b-256 4854dbc33fb2686a4d8aca19bcf8748fb229149e6172f3cd4d03351313d96e72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 62d941ca4e87c3b1387bcd231bf121679e582c1183e99ea47cddffc462303756
MD5 bae6b33ad86a53724bffacb68dbc8ef0
BLAKE2b-256 678ad45bf11b0da847bf4fe70c7bd4a647aa7a5162cd3090033f7dfefaff5bfb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cecb0f9b14b30ac3896217aedc63d83031c2c60b8cc07294cb3a2c921e5ade8b
MD5 8b516bb7d437435cb6d3b94b8b96e600
BLAKE2b-256 6baf5868e38cc1ab842a8a4d00b3b5b4be0f236eb8db82a154f9e23d03ca5b32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 644.3 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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a09e07b8219e8e12b4ea74ec94cb34cf4dddda5a7fd225d5d53e3b0f045b9858
MD5 6466520a100dca87187080818b68be1b
BLAKE2b-256 99004795196e122f0ad603b82a6766c51aa88356ad6884fac5d5a598327489aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8b6ea9053dc9d37e75165578d09adb04b51e5b9762e157b9398877e5e07e85c5
MD5 4c87c19fc3eccca39b465029c808eec3
BLAKE2b-256 276f71c3d71f9c611dedc69944b06c0a6954bc5f7d369f0539eb391829e7d922

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 09238be58140de91a093fb835690998df5b7a49548d819ef52980d36e26e980f
MD5 d133f9a186a18c0ff0f3dbd972147df3
BLAKE2b-256 239a014a11096d768221e59bcce4d70718f77260efea24e510a7108d842299b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 644.3 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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 666193f41f6dba37b1e1e78122f0ddc87a0e8c42e346143710f2535dd0084e54
MD5 a7b731dd628685cd0fe5a02a80ff974e
BLAKE2b-256 8ee9f598336f11291dabda76c680f5bf3404d77b648d09dfa7a8ed007daec46b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a0c45d41640369e5558976f38d066c20127c4c03f7fe11e6d069f2ca7539aed8
MD5 f981a39b5792ca253afbd02cd5a6960a
BLAKE2b-256 dae928d056094392ee7069ec5236d84ebea6c1832126397eec16c5f63a2397ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.4-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.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.4-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 133120106ea80f1ef7f5615dfbc6c25296af9b875db58375be8e712f59879c2f
MD5 f8021a10f835b3af47b7a5c1b8fbc9b4
BLAKE2b-256 df01d4806b9d8b7823183844016caa1c4ccd36ff286cdd8d816f135b8b08ea3c

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