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

If you're not sure about the file name format, learn more about wheel file names.

oso-0.12.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64

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

Uploaded PyPymacOS 10.9+ x86-64

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

Uploaded PyPymanylinux: glibc 2.12+ x86-64

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

Uploaded PyPymacOS 10.9+ x86-64

oso-0.12.2-cp39-cp39-win_amd64.whl (640.6 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.9macOS 10.9+ x86-64

oso-0.12.2-cp38-cp38-win_amd64.whl (640.6 kB view details)

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8macOS 10.9+ x86-64

oso-0.12.2-cp37-cp37m-win_amd64.whl (640.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.7mmacOS 10.9+ x86-64

oso-0.12.2-cp36-cp36m-win_amd64.whl (640.6 kB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2f383836ed2107fb29df6868e44094b5141392acc728fe2bae80b61e5516b841
MD5 d9c322c2f36b470772e99fec569f1536
BLAKE2b-256 83af53356991445bbc78c31d4b08a915ea73a0ad1eb6472cc33adad86d3a3047

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0dcce706755ceaa197801d3a2f3535448f919281b71b61c56cce3b2f73a8fc95
MD5 31ca71229296384d95d41f4acfdb2ccd
BLAKE2b-256 a04f41d38b77bda6f0d2158a6a7bb38329976febd90d8809a3b87d54819e21a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5f7a1000c2cae9b6a104bb1faffc139dafb13f6c559888f97af8217d1565017a
MD5 282b272ca22c18bdd3b6e9f363721e0d
BLAKE2b-256 b0fd027d172f0941e9370ec9b7a342f88d3ed0370e5c92b30e79c31e8ae95752

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 40d02649f1bd13594fd65c512c10c9d57e3d13b3b660a556997bbfda8f32779e
MD5 0e49cd0c6525b2f3550b3f08232bc69f
BLAKE2b-256 804283319c688c472051f60332fe10dd7afeee8bdbaa1745a7343ea9b8a517fd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1120fb8e97f8e9fbb53b61cff4168e7f8de14ba871c27f802b172ddbe85715b5
MD5 5a27621f559cd7d246a009dbb292dfd6
BLAKE2b-256 1119e7b89c4887e4c144c7f0e68d1d0ab3da559836f40941ea3ce8c80c5a08eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3f7aacc87922b0f9e5b9163e5cec63d5d14c47e79ab44e930bed6b0691a16e16
MD5 37852fb2f97c6c21223665fcdec8621c
BLAKE2b-256 508fb0fbea341ade0a52bf00f352a8ff84731e26207acc511311834536377052

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8e9fd8668dc57618b9314398945e039e87189cb6ae9f4c64d4beb0c3f965a0ce
MD5 ad4aa8a1339d486684bec01157a2e503
BLAKE2b-256 39ed349efa73204f5857521624ff1f3e9117a9a692da4bcc815af961ccd0aca2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5ce4837d399e1e6e053509a9165cae10f8d16669a0227304137cfbb299ba0089
MD5 ab42aee53da2a750b1396b62d2037dd3
BLAKE2b-256 df3400f325d5c5dc61d159193d24a7baaf4bcefe7a3b98a981f11e53a0659faf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a00eb02dddfc2b7c85a56a3196310407fd8a1d2fd849588b4c2df76594195801
MD5 3400962c6b83bb372a24b60ea03d7916
BLAKE2b-256 96c28fbcbfc6e4f62f79330e5f6251b81607b1c1cf0e9b36199bddbafba83271

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 29a7819eb4b9631bc48564a02fa54d03a92f2953ad0236860a5e9fa38b7b8737
MD5 8ea94586c8b6fa063c296933d8bca7a7
BLAKE2b-256 7a1f3d9151027b6a3b35526ab89157907edecf8240db46d526e5315a8c3c9531

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8cc336286fefe5002cc2f51d09ce9a59826f06bdf6df099bfaa5dcfc780368fc
MD5 d757a582fe43c6304c099e7ef033346c
BLAKE2b-256 f2d3154c70a99fcb2f4e72252585ab4fe4710d798492b8bec3b33f7e925b45cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c3b37a1b7fbe4f7d5c1de10dbc0e4e929ad4044e15e39f282615832666045a81
MD5 4c32a0329bbc6cac42230e9a429bb30c
BLAKE2b-256 e80ae8f4001856bb963885cf44c12e83944cff42aa269f15636e1d7a5f419350

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 863d205f1a748fd259d72074a01e06349096a2c830ae5476802713cd9de3f1d5
MD5 82ad4b7c46a52cc51d8654468d24a55b
BLAKE2b-256 b92170568d479ef59dc0a539b9aeb9cc23931195a71cbbca4154da32fe22171b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 8a97fb6f27df1a404b27964ba993d26b3a9f93aff8e686a3d0ab33c00ad9208d
MD5 044c253991dad1f643ec92b3a82ba484
BLAKE2b-256 2af0b1fbb4764666f59d6256d3cea711d874ba0eb47e945c7bcebd01f67bc32d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1283237d6037d209a4f30622334ec40882e0832eec8fcb5eab3150f0aebaec73
MD5 64f9c146a628bc962d68c4eaa4de87cd
BLAKE2b-256 a029e57ed71832dd4173d3984e38d56a148a898b43ce1391032e8da869f01c6f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.2-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 62c7a69d33128a0a1cd97906f8422b35fc656c08ecb886a8847e8556a6d62df3
MD5 d3797a84e5eefbb700e34e2fe30f21e0
BLAKE2b-256 4281ee6514dde3ea8f2fa0ca0d9a1530c6972b95c82afa267860472f2746251c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page